package com.sgcc.nfc.lock.domain.usecase

import com.sgcc.nfc.lock.core.network.NetworkResult
import com.sgcc.nfc.lock.domain.model.Lock
import com.sgcc.nfc.lock.domain.model.PagedList
import com.sgcc.nfc.lock.domain.repository.LockRepository
import javax.inject.Inject

class GetLocksUseCase @Inject constructor(
    private val repository: LockRepository
) {
    suspend operator fun invoke(
        page: Int,
        pageSize: Int,
        roomId: Long? = null,
        status: Int? = null,
        keyword: String? = null,
        regionId: Long? = null
    ): NetworkResult<PagedList<Lock>> = repository.getLocks(page, pageSize, roomId, status, keyword, regionId)
}
